Previous Book Contents Book Index Next

Inside Macintosh: Mac OS 8 Toolbox Reference /
Chapter 1 - Appearance Manager Reference


Introduction to the Appearance Manager

The Appearance Manager

The Appearance Manager provides the underlying support for themes and theme switching. Themes unify the appearance and behavior of human interface objects in your application, including alert icons, controls, background colors, dialog boxes, menus, windows, and state transitions. The only theme supported under Appearance 1.0.2 and earlier versions is the platinum appearance.

IMPORTANT
Appearance 1.0 ships with and supports Mac OS 8 only. It should not normally be used with earlier Mac OS versions. Appearance 1.0.2 is an extension that is designed to work with versions of the Mac OS platform from System 7.1 on, so it supersedes Appearance 1.0.
To provide a systemwide coordination of look and behavior, the Appearance Manager includes new standard human interface objects that were developed to replace the many custom solutions that have been implemented. These new elements, such as focus rings and group boxes, obviate the need for developers to create and maintain their own.

Another way the Appearance Manager achieves a unified look and behavior is by mapping standard pre-Appearance definition functions (the 'MBDF'0, 'MDEF'0, 'WDEF'0, 'WDEF'124, 'CDEF'0, 'CDEF'1, and 'CDEF'63 resources) to their Appearance-compliant equivalents. This occurs either on a systemwide basis (if the user hasn't turned off systemwide appearance) or on a per-application basis, if you call RegisterAppearanceClient from within your application. Figure 1-1 shows the ways by which it is determined how, and whether, mapping will occur for standard definition functions.

Figure 1-1 Mapping of standard definition functions

Some mapped definition functions will have a slightly different look and behavior than if they were specified directly. For example, since a standard pre-Appearance window definition function can't specify the inclusion of a horizontal zoom box, when the old resource is mapped to a new one, the resulting window still won't have a horizontal zoom box. For this reason (and to eliminate the time spent going through the mapping layer), it's recommended that you specify the Appearance-compliant definition function IDs directly.

Custom definition functions cannot be automatically mapped to Appearance-compliant equivalents. However, the Appearance Manager does provide ways to coordinate custom elements with themes. For example, using DrawThemeListBoxFrame creates a theme-compliant frame for a custom list box.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
8 JAN 1998